import clsx from "clsx";

const Rules = () => (
  <svg
    className="tremor-Icon-icon shrink-0 h-5 w-5"
    width="1em"
    height="1em"
    viewBox="0 0 16 16"
    fill="none"
    stroke="currentColor"
    strokeWidth="2"
    strokeLinecap="round"
    xmlns="http://www.w3.org/2000/svg"
  >
    <mask x="0" y="0" width="17" height="17">
      <path
        d="M0.00170898 0.00195408H16.0017V16.002H0.00170898V0.00195408Z"
        fill="white"
      />
    </mask>
    <g>
      <path
        d="M9.87646 2.3457C9.87646 3.38123 9.037 4.2207 8.00146 4.2207C6.96593 4.2207 6.12646 3.38123 6.12646 2.3457C6.12646 1.31017 6.96593 0.470703 8.00146 0.470703C9.037 0.470703 9.87646 1.31017 9.87646 2.3457Z"
        strokeWidth="0.9375"
        strokeMiterlimit="10"
      />
      <path
        d="M1.4068 10.5966C2.30361 10.0788 3.45033 10.3861 3.96811 11.2829C4.48586 12.1797 4.17861 13.3264 3.2818 13.8442C2.38502 14.3619 1.23827 14.0547 0.720516 13.1579C0.202735 12.2611 0.510016 11.1144 1.4068 10.5966Z"
        strokeWidth="0.9375"
        strokeMiterlimit="10"
      />
      <path
        d="M12.7205 13.8442C11.8237 13.3264 11.5165 12.1797 12.0342 11.2829C12.552 10.3861 13.6987 10.0788 14.5955 10.5966C15.4923 11.1144 15.7996 12.2611 15.2818 13.1579C14.7641 14.0547 13.6173 14.362 12.7205 13.8442Z"
        strokeWidth="0.9375"
        strokeMiterlimit="10"
      />
      <path
        d="M1.44849 8.57227C1.56658 6.4273 2.71477 4.55686 4.40667 3.44727"
        strokeWidth="0.9375"
        strokeMiterlimit="10"
      />
      <path
        d="M11.5955 3.44727C13.2874 4.55689 14.4356 6.42733 14.5536 8.57227"
        strokeWidth="0.9375"
        strokeMiterlimit="10"
      />
      <path
        d="M10.9594 14.8304C10.0706 15.2799 9.06555 15.5332 8.00143 15.5332C6.93727 15.5332 5.9323 15.2799 5.04346 14.8304"
        strokeWidth="0.9375"
        strokeMiterlimit="10"
      />
    </g>
  </svg>
);

const Workflows = (props: any) => (
  <svg
    className={`tremor-Icon-icon shrink-0 h-5 w-5 ${props.className}`}
    width="16"
    height="16"
    viewBox="0 0 16 16"
    stroke="currentColor"
    fill="currentColor"
    strokeWidth={0}
    xmlns="http://www.w3.org/2000/svg"
  >
    <g>
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M5.83398 7.33398V8.66732C5.83398 9.06532 5.99198 9.44665 6.27332 9.72798C6.55465 10.0093 6.93598 10.1673 7.33398 10.1673H8.66732C9.06532 10.1673 9.44665 10.0093 9.72798 9.72798C10.0093 9.44665 10.1673 9.06532 10.1673 8.66732V7.33398C10.1673 6.93598 10.0093 6.55465 9.72798 6.27332C9.44665 5.99198 9.06532 5.83398 8.66732 5.83398H7.33398C6.93598 5.83398 6.55465 5.99198 6.27332 6.27332C5.99198 6.55465 5.83398 6.93598 5.83398 7.33398ZM6.83398 7.33398C6.83398 7.20132 6.88665 7.07398 6.98065 6.98065C7.07398 6.88665 7.20132 6.83398 7.33398 6.83398H8.66732C8.79998 6.83398 8.92732 6.88665 9.02065 6.98065C9.11465 7.07398 9.16732 7.20132 9.16732 7.33398V8.66732C9.16732 8.79998 9.11465 8.92732 9.02065 9.02065C8.92732 9.11465 8.79998 9.16732 8.66732 9.16732H7.33398C7.20132 9.16732 7.07398 9.11465 6.98065 9.02065C6.88665 8.92732 6.83398 8.79998 6.83398 8.66732V7.33398Z"
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M0.833984 2.33398V3.66732C0.833984 4.06532 0.991984 4.44665 1.27332 4.72798C1.55465 5.00932 1.93598 5.16732 2.33398 5.16732H3.66732C4.06532 5.16732 4.44665 5.00932 4.72798 4.72798C5.00932 4.44665 5.16732 4.06532 5.16732 3.66732V2.33398C5.16732 1.93598 5.00932 1.55465 4.72798 1.27332C4.44665 0.991984 4.06532 0.833984 3.66732 0.833984H2.33398C1.93598 0.833984 1.55465 0.991984 1.27332 1.27332C0.991984 1.55465 0.833984 1.93598 0.833984 2.33398ZM1.83398 2.33398C1.83398 2.20132 1.88665 2.07398 1.98065 1.98065C2.07398 1.88665 2.20132 1.83398 2.33398 1.83398H3.66732C3.79998 1.83398 3.92732 1.88665 4.02065 1.98065C4.11465 2.07398 4.16732 2.20132 4.16732 2.33398V3.66732C4.16732 3.79998 4.11465 3.92732 4.02065 4.02065C3.92732 4.11465 3.79998 4.16732 3.66732 4.16732H2.33398C2.20132 4.16732 2.07398 4.11465 1.98065 4.02065C1.88665 3.92732 1.83398 3.79998 1.83398 3.66732V2.33398Z"
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M10.834 12.334V13.6673C10.834 14.0653 10.992 14.4467 11.2733 14.728C11.5547 15.0093 11.936 15.1673 12.334 15.1673H13.6673C14.0653 15.1673 14.4467 15.0093 14.728 14.728C15.0093 14.4467 15.1673 14.0653 15.1673 13.6673V12.334C15.1673 11.936 15.0093 11.5547 14.728 11.2733C14.4467 10.992 14.0653 10.834 13.6673 10.834H12.334C11.936 10.834 11.5547 10.992 11.2733 11.2733C10.992 11.5547 10.834 11.936 10.834 12.334ZM11.834 12.334C11.834 12.2013 11.8867 12.074 11.9807 11.9807C12.074 11.8867 12.2013 11.834 12.334 11.834H13.6673C13.8 11.834 13.9273 11.8867 14.0207 11.9807C14.1147 12.074 14.1673 12.2013 14.1673 12.334V13.6673C14.1673 13.8 14.1147 13.9273 14.0207 14.0207C13.9273 14.1147 13.8 14.1673 13.6673 14.1673H12.334C12.2013 14.1673 12.074 14.1147 11.9807 14.0207C11.8867 13.9273 11.834 13.8 11.834 13.6673V12.334Z"
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M4.66699 3.5H13.3337C13.555 3.5 13.7663 3.588 13.923 3.744C14.079 3.90067 14.167 4.112 14.167 4.33333V6.66667C14.167 6.888 14.079 7.09933 13.923 7.256C13.7663 7.412 13.555 7.5 13.3337 7.5H11.3337C11.0577 7.5 10.8337 7.724 10.8337 8C10.8337 8.276 11.0577 8.5 11.3337 8.5H13.3337C13.8197 8.5 14.2863 8.30667 14.6303 7.96333C14.9737 7.61933 15.167 7.15267 15.167 6.66667C15.167 5.94467 15.167 5.05533 15.167 4.33333C15.167 3.84733 14.9737 3.38067 14.6303 3.03667C14.2863 2.69333 13.8197 2.5 13.3337 2.5C10.611 2.5 4.66699 2.5 4.66699 2.5C4.39099 2.5 4.16699 2.724 4.16699 3C4.16699 3.276 4.39099 3.5 4.66699 3.5Z"
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M8.66732 12.5H2.66732C2.44598 12.5 2.23465 12.412 2.07798 12.256C1.92198 12.0993 1.83398 11.888 1.83398 11.6667C1.83398 10.9447 1.83398 10.0553 1.83398 9.33333C1.83398 9.112 1.92198 8.90067 2.07798 8.744C2.23465 8.588 2.44598 8.5 2.66732 8.5H6.33398C6.60998 8.5 6.83399 8.276 6.83399 8C6.83399 7.724 6.60998 7.5 6.33398 7.5H2.66732C2.18132 7.5 1.71465 7.69333 1.37065 8.03667C1.02732 8.38067 0.833984 8.84733 0.833984 9.33333V11.6667C0.833984 12.1527 1.02732 12.6193 1.37065 12.9633C1.71465 13.3067 2.18132 13.5 2.66732 13.5H8.66732C8.94332 13.5 9.16732 13.276 9.16732 13C9.16732 12.724 8.94332 12.5 8.66732 12.5Z"
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M13.0205 8.98114L12.0412 8.00114L13.0205 7.02114C13.2158 6.82647 13.2158 6.50914 13.0205 6.31447C12.8258 6.11914 12.5085 6.11914 12.3138 6.31447L10.9805 7.6478C10.7852 7.84314 10.7852 8.15914 10.9805 8.35447L12.3138 9.6878C12.5085 9.88314 12.8258 9.88314 13.0205 9.6878C13.2158 9.49314 13.2158 9.1758 13.0205 8.98114Z"
      />
      <path
        fillRule="evenodd"
        clipRule="evenodd"
        d="M8.35414 14.6878L9.68748 13.3545C9.88281 13.1591 9.88281 12.8431 9.68748 12.6478L8.35414 11.3145C8.15948 11.1191 7.84214 11.1191 7.64748 11.3145C7.45214 11.5091 7.45214 11.8265 7.64748 12.0211L8.62681 13.0011L7.64748 13.9811C7.45214 14.1758 7.45214 14.4931 7.64748 14.6878C7.84214 14.8831 8.15948 14.8831 8.35414 14.6878Z"
      />
    </g>
  </svg>
);

const Mapping = ({ className }: { className?: string }) => (
  <svg
    className={clsx("tremor-Icon-icon shrink-0 h-5 w-5", className)}
    width="16"
    height="16"
    viewBox="0 0 16 16"
    stroke="currentColor"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
  >
    <g clipPath="url(#clip0_560_10106)">
      <path
        d="M15.505 13.3125H13.25V15.5349H15.505V13.3125Z"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M9.12804 13.3125H6.87305V15.5349H9.12804V13.3125Z"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M2.75108 13.3125H0.496094V15.5349H2.75108V13.3125Z"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M14.3777 13.311V10.457H8.00293V13.311"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M8.00272 13.311V10.457H1.62793V13.311"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M8.00195 10.4579V7.44336"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M11.2825 6.22541V2.43582L8.00065 0.541016L4.71875 2.43582V6.22541L8.00065 8.12021L11.2825 6.22541Z"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M4.71875 2.43555L8.00065 4.33035L11.2825 2.43555"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
      <path
        d="M8 4.33008V8.11968"
        strokeWidth="0.934181"
        strokeMiterlimit="10"
      />
    </g>
    <defs>
      <clipPath id="clip0_560_10106">
        <rect width="16" height="16" fill="white" />
      </clipPath>
    </defs>
  </svg>
);

const DoorbellNotification = () => (
  <svg
    className="tremor-Icon-icon shrink-0 h-5 w-5"
    width="16"
    height="16"
    viewBox="0 0 16 16"
    stroke="currentColor"
    fill="currentColor"
    strokeWidth={0}
    xmlns="http://www.w3.org/2000/svg"
  >
    <path d="M6.92188 16H9.73438C10.1227 16 10.4375 15.7202 10.4375 15.375C10.4375 15.0298 10.1227 14.75 9.73438 14.75H6.92188C6.53354 14.75 6.21875 15.0298 6.21875 15.375C6.21875 15.7202 6.53354 16 6.92188 16Z" />
    <path d="M8.32812 0C7.93979 0 7.625 0.279813 7.625 0.625V1.29484C5.24299 1.59903 3.40625 3.42481 3.40625 5.625V9.46737C3.40625 9.68762 3.29463 9.888 3.12855 9.966C2.43242 10.2927 2 10.9284 2 11.625C2 12.6589 2.94627 13.5 4.10938 13.5H12.5469C13.71 13.5 14.6562 12.6589 14.6562 11.625C14.6562 10.9284 14.2238 10.2927 13.5277 9.966C13.3616 9.88803 13.25 9.68766 13.25 9.46737V5.625C13.25 3.42481 11.4133 1.59903 9.03125 1.29484V0.625C9.03125 0.279813 8.71646 0 8.32812 0V0ZM11.8438 5.625V9.46737C11.8438 10.1593 12.2374 10.7739 12.8711 11.0713C13.1048 11.181 13.25 11.3932 13.25 11.625C13.25 11.9696 12.9346 12.25 12.5469 12.25H4.10938C3.72167 12.25 3.40625 11.9696 3.40625 11.625C3.40625 11.3932 3.55145 11.181 3.78516 11.0713C4.41886 10.7739 4.8125 10.1593 4.8125 9.46737V5.625C4.8125 3.90188 6.38961 2.5 8.32812 2.5C10.2666 2.5 11.8438 3.90188 11.8438 5.625Z" />
  </svg>
);

const ExportIcon = () => (
  <svg
    className="tremor-Icon-icon shrink-0 h-5 w-5"
    width="16"
    height="16"
    viewBox="0 0 16 16"
    stroke="currentColor"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
  >
    <path
      d="M4.5 1.875V1H1.4375C1.19586 1 1 1.19586 1 1.4375V4.5H1.875V2.49188L5.93937 6.55625L6.55625 5.93937L2.49188 1.875H4.5Z"
      strokeWidth="0.8"
    />
    <path
      d="M14.5626 1H11.5001V1.875H13.5082L9.44385 5.93937L10.0607 6.55625L14.1251 2.49188V4.5H15.0001V1.4375C15.0001 1.19586 14.8042 1 14.5626 1Z"
      strokeWidth="0.8"
    />
    <path
      d="M14.1251 13.5077L10.0607 9.44336L9.44385 10.0602L13.5082 14.1246H11.5001V14.9996H14.5626C14.8042 14.9996 15.0001 14.8037 15.0001 14.5621V11.4996H14.1251V13.5077Z"
      strokeWidth="0.8"
    />
    <path
      d="M5.93937 9.43945L1.875 13.5082V11.5001H1V14.5626C1 14.8042 1.19586 15.0001 1.4375 15.0001H4.5V14.1251H2.49188L6.55625 10.0607L5.93937 9.43945Z"
      strokeWidth="0.8"
    />
  </svg>
);

const SilencedDoorbellNotification = () => (
  <svg
    className="tremor-Icon-icon shrink-0 h-5 w-5"
    width="16"
    height="16"
    viewBox="0 0 16 16"
    stroke="currentColor"
    fill="currentColor"
    strokeWidth={0}
  >
    <path d="M6.92188 16H9.73438C10.1227 16 10.4375 15.7202 10.4375 15.375C10.4375 15.0298 10.1227 14.75 9.73438 14.75H6.92188C6.53354 14.75 6.21875 15.0298 6.21875 15.375C6.21875 15.7202 6.53354 16 6.92188 16Z" />
    <path d="M8.32812 0C7.93979 0 7.625 0.279813 7.625 0.625V1.29484C5.24299 1.59903 3.40625 3.42481 3.40625 5.625V9.46737C3.40625 9.68762 3.29463 9.888 3.12855 9.966C2.43242 10.2927 2 10.9284 2 11.625C2 12.6589 2.94627 13.5 4.10938 13.5H12.5469C13.71 13.5 14.6562 12.6589 14.6562 11.625C14.6562 10.9284 14.2238 10.2927 13.5277 9.966C13.3616 9.88803 13.25 9.68766 13.25 9.46737V5.625C13.25 3.42481 11.4133 1.59903 9.03125 1.29484V0.625C9.03125 0.279813 8.71646 0 8.32812 0V0ZM11.8438 5.625V9.46737C11.8438 10.1593 12.2374 10.7739 12.8711 11.0713C13.1048 11.181 13.25 11.3932 13.25 11.625C13.25 11.9696 12.9346 12.25 12.5469 12.25H4.10938C3.72167 12.25 3.40625 11.9696 3.40625 11.625C3.40625 11.3932 3.55145 11.181 3.78516 11.0713C4.41886 10.7739 4.8125 10.1593 4.8125 9.46737V5.625C4.8125 3.90188 6.38961 2.5 8.32812 2.5C10.2666 2.5 11.8438 3.90188 11.8438 5.625Z" />
    <path d="M15 1L2 15" strokeWidth="1.2" strokeLinecap="round" />
  </svg>
);

const Trashcan = ({ className }: { className?: string }) => (
  <svg
    className={`tremor-Icon-icon shrink-0 ${className}`}
    width="16"
    height="16"
    viewBox="0 0 16 16"
    stroke="currentColor"
    fill="currentColor"
    strokeWidth={0}
    xmlns="http://www.w3.org/2000/svg"
  >
    <g clipPath="url(#clip0_319_30722)">
      <path d="M12.7593 3.07812L11.7392 14.7023H4.26067L3.2408 3.07812L1.94849 3.19141L2.98699 15.0264C3.04164 15.5719 3.51496 15.9996 4.0648 15.9996H11.9351C12.4847 15.9996 12.9582 15.5722 13.0138 15.0187L14.0516 3.19141L12.7593 3.07812Z" />
      <path d="M10.3784 0H5.62162C5.0255 0 4.54053 0.484969 4.54053 1.08109V3.13516H5.83781V1.29728H10.1621V3.13512H11.4594V1.08106C11.4595 0.484969 10.9745 0 10.3784 0Z" />
      <path d="M14.9188 2.48633H1.08103C0.722748 2.48633 0.432373 2.7767 0.432373 3.13498C0.432373 3.49327 0.722748 3.78364 1.08103 3.78364H14.9189C15.2772 3.78364 15.5675 3.49327 15.5675 3.13498C15.5675 2.7767 15.2771 2.48633 14.9188 2.48633Z" />
    </g>
  </svg>
);

export {
  Mapping,
  Rules,
  Workflows,
  DoorbellNotification,
  SilencedDoorbellNotification,
  Trashcan,
  ExportIcon,
};
